package com.company.zhishidian;

import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Arrays;
import java.util.Scanner;

public class JiBen{
    public static void main(String[] args) {
//        二维数组
        int[][] s = new int[3][];

//        二维数组初始化
        s[0] = new int[]{1, 2, 3};
        s[1] = new int[]{1, 2, 3, 4};
        s[2] = new int[]{2, 3};
//        遍历二维数组
        for (int[] i : s) {
            for (int t : i) {
                System.out.print(t + " ");
            }
            System.out.print("\n");
        }
        // 左移乘2，右移除2
        int t = 8 >> 1;
        System.out.println(t);
        // 输入
        Scanner input = new Scanner(System.in);
//        int i = input.nextInt();
    }

    // double 转成 1 位小数
    static double changeDouble(Double dou){
        NumberFormat nf=new DecimalFormat( "0.00 ");
        dou = Double.parseDouble(nf.format(dou));
//        DecimalFormat df = new DecimalFormat("#0.00");
//        System.out.println(df.format(dou));
        return dou;
    }

    String s7 = new String("abc")+"123"; // "abc" "123" new new()+"123"  共 4 个对象
}
class TestString {
    public static void main(String[] args) {
        String s1 = "abcde";
        String s2 = "abc";
        String s3 = new String("abc");
//        System.out.println(s1==s2);  // true
//        System.out.println(s1==s3);  // false
//        System.out.println(s1.equals(s3)); // true
        String s4 = "abdde";
        String s5 = "abced";
        int a = s5.compareTo(s4);  // 前小后大 -1  前大后小1  相等为0
        System.out.println(a);
        System.out.println(s1==s3);
        s4.compareToIgnoreCase(s5);// 不区分大小写的比大小
        Boolean b = s1.contains("a");  // 是否包含a
        System.out.println(b);
        String s7 = new String("abc")+"123"; // "abc" "123" new new()+"123"  共 4 个对象
        Boolean d = s4.startsWith("abc");  // 开头
        Boolean e = s5.endsWith("abc");  // 结尾
        System.out.println(d +""+ e);
        int f = s5.indexOf("bc");   // 查找字符的下标  不存在为-1
        System.out.println(f);
        char c = s1.charAt(2);  // 查找下标的字符
//        System.out.println(c);
        s1.isBlank();// 判断是否为空字符串
        s4.length(); // 求字符串的长度
        String s6 = s4.substring(1,3);  // 截取字符串，从1开始到第3-1个位置
        System.out.println(s6);
        char[] carr = s4.toCharArray();  // 转为字符数组
        System.out.println(carr);
        String s = "    s  s      ".trim();  // 去除首位处的空白
        System.out.println(s);
        String s8 = "aaa@bbb@cc@dd";
        String[] s9 = s8.split("@");  // 根据固定的字符切割
        System.out.println(Arrays.toString(s9));  // 输出转化后的数组
        String s10 = "aaa111bbb222aaa";
        String s11 = s10.replaceAll("aaa","www");  //  更换全部aaa的字符串
        System.out.println(s11);
        //
    }
}
class StringKuoZhan{
    public static void main(String[] args) {
        // 字符串为不变类，是引用类型，但是本身只不会变
        String s = "abc";
        method(s);
        System.out.println(s);
        StringBuilder sb = new StringBuilder("abc");
        method2(sb);
        System.out.println(sb);
    }
    public static void method(String s){
//        s += 123;
        s.concat("123");
        s.substring(1);
    }

    public static void method2(StringBuilder s){
        s.append("123").append("456");  // 改变本身对象
        s.substring(1); // 这个方法不会改变stringBuilder的对象
    }
}
class StringLianXi{
    public static void main(String[] args) {
        // 截取Oracle
        String s3 = "java@oracle.com";
        System.out.println(s3.substring(s3.indexOf("@")+1,s3.indexOf(".")));;
        // 去空字符
        String s4 = "  I love Java   ";
        System.out.println(s4.length()-s4.trim().length());
        // 倒序输出字符串
        StringBuffer s61 = new StringBuffer("abcdefg");
        s61.reverse();
        System.out.println(s61);
        // 计算有几个a
        String s7 = "abcdefgabdcdefgabcddefg";
        int n = 0;
        for(int i=0;(i=s7.indexOf("d",i)) >= 0;i++){
//            i = s.indexOf("d",i);
//            if(i<0){
//                break;
//            }
            n++;
        }
        System.out.println(n);
        // long start = System.currentTimeMillis();   // 定义两个时间戳，开始和结束一相减就可以得到时间了
        // 把a放到最后
        String s9 = "abcadefgaabcdeafgabcdefg";
        String s91 = s9.replaceAll("a","");
        int s92 = s9.length()-s91.length();
        s9 = s91;
        for(int i=0;i < s92;i++){
            s9 += "a";
        }
        System.out.println(s9);
    }
}
